/*
 数组的 includes方法 判定数组中是否包含某个值 es7
*/
const arr = [1, 2, 3, 4, NaN];
console.log(arr.includes(NaN));
/*
 指数运算符 es7
*/
console.log(2 ** 5);

const obj = {
  val1: 1,
  val2: 2,
};
/*
 Object.values es8  返回对象中所有的值
*/
console.log(Object.values(obj));

/*
 Object.entries es8  返回对象中所有键值
*/
for (const [k, v] of Object.entries(obj)) {
  console.log(k, v);
}
// 可以通过new map 生成一个map对象
// console.log(new Map(Object.entries(obj)));

/*
Object.getOwnPropertyDescriptors es8  获取对象的描述信息 主要配合 get  set 使用  assgin方法不能复制这些方法
*/
const p = {
  fname: "cao",
  lanme: "zy",
  get fullname() {
    return this.fname + "" + this.lanme;
  },
};
let d = Object.getOwnPropertyDescriptors(p);
let p2 = Object.defineProperties({}, d);
p2.fname = "c";
console.log(p2.fullname);

/*
 String.prototype.padStart  String.prototype.padEnd es8  补充指定字符使字符串达到固定长度
*/
console.log("caozy".padEnd(14, "-"));

/*
 允许在数组或者函数参数的最后多加一个逗号
*/
